/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.gym.manager.mundo;

import java.util.Date;
import java.util.Vector;
import javax.microedition.lcdui.DateField;

/**
 *
 * @author Sergio
 */
public class Rutina {

    private long temporal;
    private int ident;
    private Date fechaInicio;
    private Date fechaFin;
    private Vector ejercicios;
    private int duracion;
    private String observaciones;
    private Vector objetivos;
    private Vector asistencia;
    private int diaActual;
    private int numDias;
    private String nombre;
    private Ejercicio ejercicioActual;

    public Rutina(int ident, Date fechaInicio, Date fechaFin/*, Vector ejercicios, int duracion, Vector observaciones, Vector objetivos, Vector asistencia, int numDias*/) {
        this.ident = ident;
        this.fechaInicio = fechaInicio;
        this.fechaFin = fechaFin;
       /* this.ejercicios = ejercicios;
        this.duracion = duracion;
        this.observaciones = observaciones;
        this.objetivos = objetivos;
        this.asistencia = asistencia;
        this.numDias = numDias;*/
        this.temporal = 1 ;
        this.diaActual = 0;
        this.objetivos = new Vector();
        this.ejercicios = new Vector();
        this.asistencia = new Vector();
        this.ejercicioActual = new Ejercicio();
    }

    public Rutina() {
        this.temporal = 1;
        this.ident = 0;
        this.fechaInicio = new Date();
        this.fechaFin = new Date();
        this.ejercicios = new Vector();
        this.duracion = 0;
        this.observaciones = "";
        this.objetivos = new Vector();
        this.asistencia = new Vector();
        this.diaActual = 0;
        this.numDias = 0;
    }

    public Ejercicio getEjercicioActual() {
        return ejercicioActual;
    }

    public void setEjercicioActual(Ejercicio ejercicioActual) {
        this.ejercicioActual = ejercicioActual;
    }



    // adiciona a la lista de ejercicios el Ejercicio ejercicio
    public void addEjercicio(Ejercicio ejercicio)
    {
       this.ejercicios.addElement(ejercicio);
    }

    // elimina un ejercicio con identificador idenEjer
    public void delEjercicio(int idenEjer){
        int i=0;
        Ejercicio ej = (Ejercicio) ejercicios.elementAt(0);
        for(i=1;i<ejercicios.size();i++)
        {
            ej = (Ejercicio) ejercicios.elementAt(i);
            if(ej.getIdent()==idenEjer)
                ejercicios.removeElementAt(i);
        }
    }

    // adiciona el String objetivo a la lista d objetivos
    public void addObjetivo(String objetivo)
    {
        objetivos.addElement(objetivo);
    }

    // elimina el objetivo de la lista, debe conicidir el string que llega por parametro con el string guardado en la lista
    public void delObjetivo(String objetivo)
    {
        int i;
        for(i=0; i<objetivos.size();i++)
        {
            if(objetivos.elementAt(i).equals(objetivo))
                    objetivos.removeElementAt(i);
        }
    }

    // modifica el dia numero numDia en la rutina
    public void modificarAsistenciaDia(int numDia, boolean asiste)
    {
        int i=0;
        int j=0;
        if(asistencia.size()>=numDia){
            if(asiste==false)
                asistencia.insertElementAt(Boolean.FALSE, numDia-1);
            else if(asiste==true)
                asistencia.insertElementAt(Boolean.TRUE, numDia-1);
        }
    }

    public Vector getAsistencia() {
        return asistencia;
    }

    public void setAsistencia(Vector asistencia) {
        this.asistencia = asistencia;
    }

    public int getDiaActual() {
        return diaActual;
    }

    public void setDiaActual(int diaActual) {
        this.diaActual = diaActual;
    }

    public int getDuracion() {
        return duracion;
    }

    public void setDuracion(int duracion) {
        this.duracion = duracion;
    }

    public Vector getEjercicios() {
        return ejercicios;
    }

    public void setEjercicios(Vector ejercicios) {
        this.ejercicios = ejercicios;
    }

    public Date getFechaFin() {
        return fechaFin;
    }

    public void setFechaFin(Date fechaFin) {
        this.fechaFin = fechaFin;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public int getIdent() {
        return ident;
    }

    public void setIdent(int ident) {
        this.ident = ident;
    }

    public int getNumDias() {
        return numDias;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setNumDias(int numDias) {
        this.numDias = numDias;
    }

    public Vector getObjetivos() {
        return objetivos;
    }

    public void setObjetivos(Vector objetivos) {
        this.objetivos = objetivos;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public long getTemporal() {
        return temporal;
    }

    public void setTemporal(long temporal) {
        this.temporal = temporal;
    }

    public String darTodo() {
        String todo="";
        int i;

        // saca asistencia
        for(i=0;i<asistencia.size();i++)
        {
            Boolean asistio = (Boolean)asistencia.elementAt(i);
           if(asistio==Boolean.FALSE)
               todo+= "Dia " + Integer.toString(i+1) + ": No asistio" + "\n";
           if(asistio==Boolean.TRUE)
               todo+= "Dia " + Integer.toString(i+1) + ": Asistio" + "\n";
        }

        todo+="dia actual: " + Integer.toString(diaActual) + "\n";
        todo+="Duracion: " + Integer.toString(duracion) + "\n";

        //saca ejercicios
        Ejercicio ejercicio;
        todo+="";
        for(i=0; i<ejercicios.size();i++)
        {
            ejercicio = (Ejercicio) ejercicios.elementAt(i);
            String nombreEjercicio = ejercicio.getNombre();
            todo+= "Ejercicio " + Integer.toString(i) + ": "+ nombreEjercicio;
            todo+="\n";
        }

        todo+="identificador de la rutina: " + Integer.toString(ident) + "\n";
        todo+="numero de dias de la rutina: "+ Integer.toString(numDias) + "\n";


        //sacar objetivos
        String objetivoTemp="";
        for(i=0;i<objetivos.size();i++)
        {
            objetivoTemp= (String) objetivos.elementAt(i);
            todo+="Objetivo " + Integer.toString(i) + ": " + objetivoTemp + "\n";
        }

        todo += Long.toString(temporal);
        return todo; 
    }

}
